@Allure
2年前 提问
1个回答

数据库安全审计怎么设置

Ann
2年前

以下是以mysql数据库和BinLog方法进行数据库安全审计,配置和验证过程如下:

  1. 创建审计用的数据库和表(这里是测试所以自建数据库和表);

    图片

  2. 创建具有操作auditdb数据权限的用户,如果已经有用户,需要对现有用户添加操作auditdb的权限;

    图片

  3. 设置init_connect,并重启MySQL数据库在初始化参数文件[mysql]部分添加如下内容;

     <pre style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; font-size: inherit; color: inherit; line-height: inherit;">
     1log-bin=mysql-bin #开启Binlog
     2init_connect='insert into auditdb.accesslog(connectionid, connectionuser,logintime) values(connection_id(),user(),now());' #设置初始化连接参数
     </pre>
  4. 用user1用户登录,执行一些写入和删除的操作;

    图片

  5. 用mysqlbinlog工具查看BinLog:根据delete操作找到相应的ThreadId,而后在前面创建的审计日志表auditdb.accesslog里面根据ThreadID找到用户登录信息,从Binlog中可以得知这个删除操作是user1用户在本机执行的操作。

    图片